KIMGONOW← 수업 목록

인공지능 기초

퍼셉트론의 개념과 한계, 그리고 다층 퍼셉트론

하나의 퍼셉트론이 가진 한계를 확인하고, 여러 게이트를 연결해 XOR을 구현해 보세요.

01

단층 퍼셉트론으로 만든 네 가지 게이트

가중치와 편향으로 AND, OR, NAND, NOR의 출력을 결정합니다.

logic_gates.py
# AND 게이트
def AND(x1, x2):
    w1, w2, b = 0.5, 0.5, -0.7

    if x1*w1 + x2*w2 + b >= 0:
        return 1
    else:
        return 0


# OR 게이트
def OR(x1, x2):
    w1, w2, b = 0.5, 0.5, -0.2

    if x1*w1 + x2*w2 + b >= 0:
        return 1
    else:
        return 0


# NAND 게이트
def NAND(x1, x2):
    w1, w2, b = -0.5, -0.5, 0.7

    if x1*w1 + x2*w2 + b >= 0:
        return 1
    else:
        return 0


# NOR 게이트
def NOR(x1, x2):
    w1, w2, b = -0.5, -0.5, 0.2

    if x1*w1 + x2*w2 + b >= 0:
        return 1
    else:
        return 0

각 함수는 x₁w₁ + x₂w₂ + b가 0 이상이면 1, 아니면 0을 출력합니다. XOR은 두 입력이 서로 다를 때 1입니다. XOR의 네 점은 하나의 직선으로 분리할 수 없어, 단층 퍼셉트론 하나로는 구현할 수 없습니다.

02

게이트를 조립해 XOR 만들기

입력층 → 은닉층 → 출력층. 미리 연결된 세 칸에 게이트를 놓고 네 가지 입력의 출력을 확인하세요.

목표: XOR 진리표

x₁x₂XOR
000
011
101
110

조립 방법

아래 네 종류의 게이트를 원하는 칸으로 드래그하세요. 같은 종류를 여러 번 사용할 수도 있습니다. 모바일과 키보드에서는 게이트를 선택한 뒤 칸의 버튼을 누르세요.

0층은 입력층, 1층은 두 게이트를 놓는 은닉층, 2층은 한 게이트를 놓는 출력층입니다. 입력과 출력은 미리 연결되어 있으니 게이트만 배치하세요.

0층 · 입력층
x₁
x₂
1층 · 은닉층
2층 · 출력층
y
게이트를 배치하면 아래에 진리표가 나타납니다.
x₁x₂G1G2G3내 출력XOR확인

세 칸에 게이트를 모두 놓고 네 입력 조합의 결과가 모두 XOR과 같으면 성공입니다.